package com.ruoyi.project.domain.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.base.Field;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel("阶段字典配置表")
@TableName(value = "project_promissory", autoResultMap = true)
public class ProjectPromissory  extends Field {
    private static final long serialVersionUID = 1L;

    /** 表id */
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty("id")
    @TableId
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 出票日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出票日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outDate;

    /** 到期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出票日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 收款单位 */
    @Excel(name = "收款单位")
    private String payee;

    /** 付款单位 */
    @Excel(name = "付款单位")
    private String payer;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal money;

    /** 管家婆项目 */
    @Excel(name = "管家婆项目")
    private String housekeeperProject;

    /** 管家婆项目名称 */
    @Excel(name = "管家婆项目名称")
    private String housekeeperName;

    /** 出票人 */
    @Excel(name = "出票人")
    private String drawer;

    /** 出票人id */
    @Excel(name = "出票人id")
    private Long drawerId;

    /** 票据单号 */
    @Excel(name = "票据单号")
    private String ticketNumber;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String companyName;

    /** 操作类型 */
    @Excel(name = "操作类型")
    private String noteType;

    /** 操作名称 */
    @Excel(name = "操作名称")
    private String noteName;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 状态 */
    @TableField(exist = false)
    private String status;

}
